A memory module of a device is used to store data to be processed or generated during device operation. One type of memory module, also known as memory, is random access memory (RAM). As its name implies, RAM can be accessed randomly, that is, it can be written to, or read from, any address location in any order. Additional kinds of memory include but are not limited to read-only memory (ROM), programmable ROM (PROM), and erasable programmable ROM (EPROM).
A memory module typically comprises memory locations. In each memory location, a data word comprising a number of bits or bytes can be stored. An address is allocated to each memory location and is used to access the respective memory location.
To detect errors in stored data words, a dedicated area in the memory module may be reserved for storing error detection code (EDC) words. The stored EDC words have a predetermined relationship with the stored data words. During a check of the EDC word with an associated data word, it is determined whether the predetermined relationship exists. If this is not the case, the existence of a manipulation or change in the stored data word can be concluded.
An EDC-protected memory module requires a certain amount of overhead in order to allow for its configuration. Hence, to store the same amount of data excluding EDC words, an EDC-protected memory module is always larger than a non-EDC-protected memory module.
Memory modules are manufactured with a fixed size and data word width. Memory modules must therefore be manufactured as different versions according to whether or not error detection using EDC words is desired.